package com.ruoyi.service.jpjs.concretecheck;

import com.ruoyi.domain.jpjs.common.brickcheck.BrickCheck;
import com.ruoyi.domain.jpjs.common.concretecheck.ConcreteCheck;
import com.ruoyi.domain.jpjs.common.plastercheck.PlasterCheck;

import java.util.List;
import java.util.Map;

/**
 * @author C.fw
 * @explain 混凝土报表业务层
 * @since 2020/8/15 15:43
 */
public interface ConcretecheckService {

    /**
     * 根据筛选条件获取混凝土填报概要信息
     * 
     * @param map
     * @return
     */
    List<ConcreteCheck> selectConcreteCheckList(Map<String, Object> map);

    /**
     * 根据筛选条件获取砌体填报概要信息
     * 
     * @param map
     * @return
     */
    List<BrickCheck> selectBrickCheckList(Map<String, Object> map);

    /**
     * 根据筛选条件获取砌体填报概要信息
     * @param map
     * @return
     */
    List<PlasterCheck> selectPlasterCheckList(Map<String, Object> map);

    /**
     * 批量新增混凝土报表信息
     *
     * @param concreteCheckList
     *            混凝土报表信息
     * @return 新增条数
     */
    public int insertConcreteCheckBatches(List<ConcreteCheck> concreteCheckList);

    /**
     * 批量新增砌体报表信息
     *
     * @param brickCheck
     *            砌体报表信息集合
     * @return 新增条数
     */
    public int insertBrickCheckBatches(List<BrickCheck> brickCheck);

    /**
     * 批量新增抹灰报表信息
     *
     * @param plasterCheck 砌体报表信息集合
     * @return 新增条数
     */
    public int insertPlasterCheckBatches(List<PlasterCheck> plasterCheck);

    /**
     * 批量删除报表信息
     * 
     * @param checkId
     *            主键id
     * @return 响应条数
     */
    public int deleteConcreteCheckBycheckId(String checkId);

    /**
     * 批量删除报表信息
     *
     * @param checkId
     *            主键id
     * @return 响应条数
     */
    public int deleteBrickCheckBycheckId(String checkId);

    /**
     * 报表标识删除报表
     *
     * @param checkId 报表标识
     * @return 结果
     */
    public int deletePlasterCheckBycheckId(String checkId);

    /**
     * 更新混凝土报表
     * 
     * @param concreteCheck
     *            混凝土报表实体类
     * @return 结果
     */
    public int updateConcreteCheckById(ConcreteCheck concreteCheck);

    /**
     * 修改砌体报表信息
     *
     * @param brickCheck
     *            砌体报表信息
     * @return 结果
     */
    public int updateBrickCheckById(BrickCheck brickCheck);

    /**
     * 查询详情信息
     * 
     * @param map
     * @return
     */
    List<Map<String, Object>> selectConcretecheckDetailList(Map<String, Object> map);

    /**
     * 查询详情信息
     *
     * @param map
     * @return
     */
    List<Map<String, Object>> selectBrickcheckDetailList(Map<String, Object> map);

    /**
     * 获取抹灰填报详细信息
     * @param map
     * @return
     */
    List<Map<String, Object>> selectPlastercheckDetailList(Map<String, Object> map);

    /**
     * 修改抹灰报表信息
     *
     * @param brickCheck 抹灰报表信息
     * @return 结果
     */
    public int updatePlasterCheckById(PlasterCheck plasterCheck);

    /**
     * 根据筛选条件获取所有工艺概要信息
     * @param map
     * @return
     */
    List<ConcreteCheck> selectTotalList(Map<String, Object> map);
}
